#include <iostream>
#include <stack>
#include <unordered_map>

bool isValid(const std::string& s) {
    std::stack<char> stack;
    std::unordered_map<char, char> mapping = {{')', '('}, {']', '['},{'}','{'},{'>','<'}};

    for (char bracket : s) {
        if (mapping.find(bracket) != mapping.end()) {
            if (stack.empty() || stack.top() != mapping[bracket]) {
                return false;
            }
            stack.pop();
        } else {
            stack.push(bracket);
        }
    }

    return stack.empty();
}

int main() {
    std::string input;
    std::cout << "Введите скобочную последовательность: ";
    std::cin >> input;

    if (isValid(input)) {
        std::cout << "True" << std::endl;
    } else {
        std::cout << "False" << std::endl;
    }

    return 0;
}
